<?php

namespace app\common\model\Teacher;

use think\Model;
use think\Request;

//引入模型
use app\common\model\Subject\Subject;
use app\common\model\Teacher\Follow;


class Teacher extends Model
{
    // 模型对应的是哪张表
    protected $name = "teacher";

    // 指定一个自动设置的时间字段
    // 开启自动写入
    protected $autoWriteTimestamp = true;

    // 设置字段的名字
    protected $createTime = "createtime"; // 插入的时候设置的字段名

    // 禁止 写入的时间字段
    protected $updateTime = false;

    // 忽略数据表不存在的字段
    protected $field = true;

    // 追加虚拟字段
    protected $append = [
        'follows_text',
        'avatar_text',
        'count_text'
    ];


    // 课程总数的虚拟字段
    public function getCountTextAttr($value, $data)
    {
        $id = isset($data['id']) ? trim($data['id']) : 0;

        $SubjectModel = new Subject();

        $count = $SubjectModel->where(['teacherid' => $id])->count();

        return $count;
    }

    // 头像判断的虚拟字段
    public function getAvatarTextAttr($value, $data)
    {
        // 先获取到图片信息
        $avatar = isset($data['avatar']) ? trim($data['avatar']) : '';

        // 如果为空 或者 图片不存在 给一个默认图
        if (empty($avatar) || !is_file("." . $avatar)) {
            $avatar = "/assets/img/cover.png";
        }

        // 组装完整地址
        // http://www.fast.com/assets/img/cover.png
        $request = Request::instance();
        $domain = $request->domain();

        $avatar = $domain . $avatar;
        return $avatar;
    }

    // 关注粉丝数
    public function getFollowsTextAttr($value, $data)
    {
        $teacherid = isset($data['id']) ? trim($data['id']) : 0;

        return Follow::where(['teacherid' => $teacherid])->count();
    }
}
